home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / database / bltw121.zip / NEW_HDR.ZIP / BULLET.H < prev   
C/C++ Source or Header  |  1995-01-09  |  6KB  |  319 lines

  1.  
  2. /* BULLET.H   5-Jan-95-chh
  3.  * 9-Jan-95-chh added "far" to *PSZ def
  4.  *
  5.  *  Bullet header for DOS 16-bit C/C++
  6.  *
  7.  */
  8.  
  9. #ifndef __BULLET_H
  10. #define __BULLET_H
  11.  
  12. #pragma pack(1)
  13.  
  14. #define VOID void
  15. #define SHORT short
  16. #define LONG long
  17.  
  18. typedef unsigned char BYTE;
  19. typedef unsigned short USHORT;
  20. typedef unsigned long ULONG;
  21. typedef unsigned char far *PSZ;
  22. typedef VOID far *PVOID;
  23.  
  24. #ifdef __cplusplus
  25.    extern "C" {
  26. #endif
  27. int  far pascal BULLET(PVOID);
  28. #ifdef __cplusplus
  29.    }
  30. #endif
  31.  
  32. #define INITXB          0  /* system */
  33. #define EXITXB          1
  34. #define ATEXITXB        2
  35. #define MEMORYXB        3
  36. #define BREAKXB         4
  37. #define BACKUPFILEXB    5
  38. #define STATHANDLEXB    6
  39. #define GETEXTERRORXB   7
  40. #define DVMONCXB        9
  41.  
  42. #define CREATEDXB       10 /* data control mid-level */
  43. #define OPENDXB         11
  44. #define CLOSEDXB        12
  45. #define STATDXB         13
  46. #define READDHXB        14
  47. #define FLUSHDHXB       15
  48. #define COPYDHXB        16
  49. #define ZAPDHXB         17
  50.  
  51. #define CREATEKXB       20 /* key control mid-level */
  52. #define OPENKXB         21
  53. #define CLOSEKXB        22
  54. #define STATKXB         23
  55. #define READKHXB        24
  56. #define FLUSHKHXB       25
  57. #define COPYKHXB        26
  58. #define ZAPKHXB         27
  59.  
  60. #define GETDESCRIPTORXB 30 /* data access mid-level */
  61. #define GETRECORDXB     31
  62. #define ADDRECORDXB     32
  63. #define UPDATERECORDXB  33
  64. #define DELETERECORDXB  34
  65. #define UNDELETERECORDXB 35
  66. #define PACKRECORDSXB   36
  67.  
  68. #define FIRSTKEYXB      40 /* key access mid-level */
  69. #define EQUALKEYXB      41
  70. #define NEXTKEYXB       42
  71. #define PREVKEYXB       43
  72. #define LASTKEYXB       44
  73. #define STOREKEYXB      45
  74. #define DELETEKEYXB     46
  75. #define BUILDKEYXB      47
  76. #define CURRENTKEYXB    48
  77.  
  78. #define GETFIRSTXB      60 /* key and data access high-level */
  79. #define GETEQUALXB      61
  80. #define GETNEXTXB       62
  81. #define GETPREVXB       63
  82. #define GETLASTXB       64
  83. #define INSERTXB        65
  84. #define UPDATEXB        66
  85. #define REINDEXXB       67
  86.  
  87. #define LOCKXB          80 /* network control */
  88. #define UNLOCKXB        81
  89. #define LOCKKEYXB       82
  90. #define UNLOCKKEYXB     83
  91. #define LOCKDATAXB      84
  92. #define UNLOCKDATAXB    85
  93. #define DRIVEREMOTEXB   86
  94. #define FILEREMOTEXB    87
  95. #define SETRETRIESXB    88
  96.  
  97. #define DELETEFILEDOS   100/* DOS file I/O low-level */
  98. #define RENAMEFILEDOS   101
  99. #define CREATEFILEDOS   102
  100. #define OPENFILEDOS     103
  101. #define SEEKFILEDOS     104
  102. #define READFILEDOS     105
  103. #define WRITEFILEDOS    106
  104. #define CLOSEFILEDOS    107
  105. #define ACCESSFILEDOS   108
  106. #define EXPANDFILEDOS   109
  107. #define MAKEDIRDOS      110
  108.  
  109. #define cUNIQUE         1  /* key type flags */
  110. #define cCHAR           2
  111. #define cINTEGER        16
  112. #define cLONG           32
  113. #define cNLS            0x4000  /* note: cNLS is set by BULLET */
  114. #define cSIGNED         0x8000
  115.  
  116. #define READONLY        0  /* do NOT use O_RDONLY,O_WRONLY,O_RDWR */
  117. #define WRITEONLY       1
  118. #define READWRITE       2
  119.  
  120. #define COMPAT          0X0000  /* okay to use SH_DENYRW, etc. */
  121. #define DENYREADWRITE   0x0010  /* or O_DENYREADWRITE, etc.    */
  122. #define DENYWRITE       0x0020
  123. #define DENYREAD        0x0030
  124. #define DENYNONE        0x0040
  125. #define NOINHERIT       0x0080
  126.  
  127.  
  128. struct AccessPack {
  129. USHORT  func;
  130. USHORT  stat;
  131. USHORT  handle;
  132. LONG    recNo;  /* signed */
  133. PVOID   recPtr;
  134. PVOID   keyPtr;
  135. PVOID   nextPtr;
  136. };
  137.  
  138. struct BreakPack {
  139. USHORT  func;
  140. USHORT  stat;
  141. USHORT  mode;
  142. };
  143.  
  144. struct CopyPack {
  145. USHORT  func;
  146. USHORT  stat;
  147. USHORT  handle;
  148. PSZ     filenamePtr;
  149. };
  150.  
  151. struct CreateDataPack {
  152. USHORT  func;
  153. USHORT  stat;
  154. PSZ     filenamePtr;
  155. USHORT  noFields;
  156. PVOID   fieldListPtr;
  157. USHORT  fileID;
  158. };
  159.  
  160. struct CreateKeyPack {
  161. USHORT  func;
  162. USHORT  stat;
  163. PSZ     filenamePtr;
  164. PSZ     keyExpPtr;
  165. USHORT  xbLink;
  166. USHORT  keyFlags;
  167. USHORT  codePageID;
  168. USHORT  countryCode;
  169. PVOID   collatePtr;
  170. };
  171.  
  172. struct FieldDescType {
  173. BYTE    fieldName[11];
  174. BYTE    fieldType;
  175. LONG    fieldDA;
  176. BYTE    fieldLen;
  177. BYTE    fieldDC;
  178. LONG    fieldRez;
  179. BYTE    filler[10];
  180. };
  181.  
  182. struct DescriptorPack {
  183. USHORT  func;
  184. USHORT  stat;
  185. USHORT  handle;
  186. USHORT  fieldnumber;
  187. struct  FieldDescType fd;
  188. };
  189.  
  190. struct DosFilePack {
  191. USHORT  func;
  192. USHORT  stat;
  193. PSZ     filenamePtr;
  194. USHORT  handle;
  195. USHORT  asMode;
  196. USHORT  bytes;
  197. LONG    seekOffset;
  198. USHORT  method;
  199. PVOID   bufferPtr;
  200. USHORT  attr;
  201. PSZ     newNamePtr;
  202. };
  203.  
  204. struct DVmonPack {
  205. USHORT  func;
  206. USHORT  stat;
  207. USHORT  mode;
  208. USHORT  handle;
  209. USHORT  vs;
  210. };
  211.  
  212. struct ExitPack {
  213. USHORT  func;
  214. USHORT  stat;
  215. };
  216.  
  217. struct HandlePack {
  218. USHORT  func;
  219. USHORT  stat;
  220. USHORT  handle;
  221. };
  222.  
  223. struct InitPack {
  224. USHORT  func;
  225. USHORT  stat;
  226. USHORT  JFTmode;
  227. USHORT  DOSver;
  228. USHORT  version;
  229. USHORT  OSversion;
  230. ULONG   exitPtr;
  231. };
  232.  
  233. struct MemoryPack {
  234. USHORT  func;
  235. USHORT  stat;
  236. ULONG   memory;
  237. };
  238.  
  239. struct OpenPack {
  240. USHORT  func;
  241. USHORT  stat;
  242. USHORT  handle;
  243. PSZ     filenamePtr;
  244. USHORT  asMode;
  245. USHORT  xbLink;
  246. };
  247.  
  248. struct RemotePack {
  249. USHORT  func;
  250. USHORT  stat;
  251. USHORT  handle;
  252. USHORT  isRemote;
  253. USHORT  flags;
  254. USHORT  isShare;
  255. };
  256.  
  257. struct SetRetriesPack {
  258. USHORT  func;
  259. USHORT  stat;
  260. USHORT  mode;
  261. USHORT  pause;
  262. USHORT  retries;
  263. };
  264.  
  265. struct StatDataPack {
  266. USHORT  func;
  267. USHORT  stat;
  268. USHORT  handle;
  269. BYTE    fileType;
  270. BYTE    dirty;
  271. ULONG   recs;
  272. USHORT  recLen;
  273. USHORT  fields;
  274. BYTE    f1;
  275. BYTE    LUyear;
  276. BYTE    LUmonth;
  277. BYTE    LUday;
  278. USHORT  hereseg;
  279. BYTE    filler[10];
  280. };
  281.  
  282. struct StatKeyPack {
  283. USHORT  func;
  284. USHORT  stat;
  285. USHORT  handle;
  286. BYTE    fileType;
  287. BYTE    dirty;
  288. ULONG   keys;
  289. USHORT  keyLen;
  290. USHORT  xbLink;
  291. ULONG   xbRecNo;
  292. USHORT  hereSeg;
  293. USHORT  codePageID;
  294. USHORT  countryCode;
  295. USHORT  collateTableSize;
  296. USHORT  keyFlags;
  297. BYTE    filler[2];
  298. };
  299.  
  300. struct StatHandlePack {
  301. USHORT  func;
  302. USHORT  stat;
  303. USHORT  handle;
  304. USHORT  ID;
  305. PSZ     filenamePtr;
  306. };
  307.  
  308. struct XerrorPack {
  309. USHORT  func;
  310. USHORT  stat;
  311. USHORT  errclass;
  312. USHORT  action;
  313. USHORT  location;
  314. };
  315.  
  316. #pragma pack()
  317.  
  318. #endif /* ifndef __BULLET_H */
  319.